package com.yami.shop.im.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yami.shop.im.bean.ImMsgBizUserHistory;
import com.yami.shop.im.util.PageParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author LZK
 * @date 2021-04-01 17:22:48
 */
public interface ImMsgBizUserHistoryMapper extends BaseMapper<ImMsgBizUserHistory> {

    /**
     * 获取平台聊天记录
     * @param pageParam
     * @param sendType
     * @param bizId
     * @param userId
     * @return
     */
    Page<ImMsgBizUserHistory> pageByPlatformParams(PageParam<ImMsgBizUserHistory> pageParam, @Param("sendType") Integer sendType,
                                                   @Param("bizId") Long bizId, @Param("userId") String userId, @Param("employeeId") Long employeeId);

    /**
     * 获取用户和店铺的聊天记录
     *
     * @param pageParam
     * @param sendType 发送类型
     * @param bizId 商家或平台id
     * @param employeeId 员工id
     * @param userId 用户id
     * @return
     */
    Page<ImMsgBizUserHistory> page(PageParam<ImMsgBizUserHistory> pageParam, @Param("sendType") Integer sendType,
                                   @Param("bizId") Long bizId, @Param("employeeId") Long employeeId, @Param("userId") String userId);
    /**
     * 获取一天内某个用户和店铺的聊天记录(转接客服后共享聊天记录)
     *
     * @param sendType 发送类型
     * @param bizId 商家或平台id
     * @param employeeId 员工id(用于查询非此员工的聊天记录)
     * @param userId 用户id
     * @return
     */
    List<ImMsgBizUserHistory> getHistoryBeforeTransfer(@Param("sendType") Integer sendType, @Param("bizId") Long bizId, @Param("employeeId") Long employeeId, @Param("userId") String userId);
}
